//package com.smartstate.EnvironmentMonitor.util;
//
//import com.smartstate.EnvironmentMonitor.entity.Report;
//import org.springframework.data.redis.core.RedisTemplate;
//import org.springframework.stereotype.Service;
//
//import javax.annotation.Resource;
//import java.text.SimpleDateFormat;
//import java.util.Date;
//import java.util.concurrent.Executors;
//import java.util.concurrent.ScheduledExecutorService;
//import java.util.concurrent.TimeUnit;
//
//@Service
//public class TimeTask {
//
//    @Resource
//    private RedisTemplate redisTemplate;
//
//    /**
//     * 周期执行MyTaskSeconds任务，时间间隔为一秒
//     * @throws Exception
//     */
//    public  void executeFixedRateSeconds() throws Exception {
//        ScheduledExecutorService executor = Executors.newScheduledThreadPool(3);
//        executor.scheduleAtFixedRate(
//                new MyTaskSeconds(),
//                1,
//                1000,
//                TimeUnit.MILLISECONDS);
//    }
//
//    private  class MyTaskSeconds implements Runnable {
//        public void run() {
//            Date date = randomDate("2022-7-01", "2022-08-31");
//            new Report()
//
//        }
//
//
//        private Date randomDate(String beginDate, String endDate) {
//            try {
//                SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
//                Date start = format.parse(beginDate);
//                Date end = format.parse(endDate);
//
//                if (start.getTime() >= end.getTime()) {
//                    return null;
//                }
//                long date = random(start.getTime(), end.getTime());
//                return new Date(date);
//            } catch (Exception e) {
//                e.printStackTrace();
//            }
//            return null;
//        }
//
//        private long random(long begin, long end) {
//            long rtn = begin + (long) (Math.random() * (end - begin));
//            if (rtn == begin || rtn == end) {
//                return random(begin, end);
//            }
//            return rtn;
//        }
//    }
//
//}
